home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / video / fly8111-.000 / fly8111- / fly8 / COMMON / grstat.c < prev    next >
C/C++ Source or Header  |  1979-12-31  |  1KB  |  61 lines

  1. /* --------------------------------- grstat.c ------------------------------- */
  2.  
  3. /* This is part of the flight simulator 'fly8'.
  4.  * Author: Eyal Lebedinsky (eyal@ise.canberra.edu.au).
  5. */
  6.  
  7. /* Display video driver statistics.
  8. */
  9.  
  10. #include "fly.h"
  11.  
  12.  
  13. Ulong    NEAR GrStats[2048] = {0};
  14.  
  15. extern void FAR
  16. LogStats (void)
  17. {
  18.     int    i;
  19.     Ulong    sp, sl, l, p, t;
  20.  
  21.     l = 0;
  22.     for (i = 0; i < 2048; ++i) {
  23.         if (l < GrStats[i])
  24.             l = GrStats[i];
  25.     }
  26.     sp = sl = 1L;
  27.     if        (l >= 1000000000L) {
  28.         sp = 1000L;
  29.         sl = 100L;
  30.     } else if (l >= 100000000L) {
  31.         sp = 100L;
  32.         sl = 10L;
  33.     } else if (l >= 10000000L)
  34.         sp = 10L;
  35.  
  36.     l = p = 0L;
  37.     LogPrintf ("Line drawing summary:\n");
  38.     LogPrintf ("  len          count              volume\n");
  39.     for (i = 0; i < 2048; ++i) {
  40.         if (GrStats[i]) {
  41.             LogPrintf (" %4u %14s", i, show_ul (GrStats[i]));
  42.             LogPrintf (" %19s\n", show_ulf (GrStats[i], (Ulong)i));
  43.             l += GrStats[i]/sl;
  44.             p += GrStats[i]/sp*i;
  45.         }
  46.     }
  47.     LogPrintf ("  tot %14s", show_ulf (l, sl));
  48.     LogPrintf (" %19s\n", show_ulf (p, sp));
  49.  
  50.     if (T(t = l/sp*sl/1000))
  51.         LogPrintf (" mp/l %14s\n", show_ul (p/t));
  52.     if (T(t = STATS_FRAMESCOUNT/sl))
  53.         LogPrintf ("  l/f %14s\n", show_ul (l/t));
  54.     if (T(t = STATS_FRAMESCOUNT/sp))
  55.         LogPrintf ("  p/f %14s\n", show_ul (p/t));
  56.     if (T(t = STATS_TIMEVIDEO / 10000 / sp))
  57.         LogPrintf ("  p/s %14s\n", show_ul (p/t));
  58.     if (T(t = STATS_TIMEVIDEO / 10000 / sl))
  59.         LogPrintf ("  l/s %14s\n", show_ul (l/t));
  60. }
  61.